<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Material extends CI_Controller { 
    public $aluno;
    public function __construct() {
    parent::__construct();
        $this->load->model('usuarios_model', 'users');
        $this->load->model('material_model', 'material');
        $this->load->model('cadastros_model', 'cadastros');
        $this->aluno = $this->session->userdata('aluno'); 
    }
    public function index(){
        $data['nome_pagina'] = "Gerenciar Material";
        $data['materiais'] = $this->material->getMaterial();
        $this->load->view('config_material', $data);
    }
    public function pop_addMaterial() {
        $this->load->view('pop-ups/add_material');
    }
    public function addArquivo() {
        //print_r($this->input->post());
        $link = url_title($this->input->post('NOME'), '_', TRUE);
        if (isset($_FILES['arquivo'])) {
            $arquivo = $this->uploadArquivo($link);
            if (isset($arquivo['erro'])) {
                echo "Error: " . $arquivo['erro'];
                return ;
            } else {
               // die(print_r($arquivo));
                $dados['NOME'] = $this->input->post('NOME');
                $dados['DESCRICAO'] = $this->input->post('DESCRICAO');
                $dados['LINK'] = $link.".".$arquivo['ext'];
                $dados['TAMANHO'] = $arquivo['tamanho'];
            }
        }else{
            $dados['NOME'] = $this->input->post('NOME');
            $dados['DESCRICAO'] = $this->input->post('DESCRICAO');
            $dados['LINK'] = $this->input->post('LINK');
        }
        $codigo=  $this->material->addMaterial($dados);
        if (!is_null($codigo)){
            echo "ok";
        }
    }

    public function uploadArquivo($nome) {
        $tipos = array('doc','docx','pdf','xls','xlsx','jpg');
        $pasta = "uploads/material/";
        if (isset($_FILES['arquivo'])) {
            $arquivo = uploadFile($_FILES['arquivo'], $pasta, $tipos, $nome);
            return $arquivo;
        } else {
            return null;
        }
    }
    
    public function alunoMaterial(){
                $this->users->clienteLogado();
		$data['pagina'] = "home";
		$data['cadastro'] = $this->cadastros->get_id($this->aluno);
                $data['info_tempo']=$this->cadastros->getTempo($this->aluno);  
                $data['info_projeto']=$this->cadastros->getProjeto($this->aluno,1);
                 $data['qtdCiclo']=0;
                if($data['info_projeto']){
                $COD_PROJETO=$data['info_projeto']->COD_PROJETO;
                    $data['ciclos'] = $this->cadastros->getCiclosUsuarios($this->aluno,$COD_PROJETO); 
                    if (!is_null($data['ciclos'])){
                        $data['qtdCiclo']=count($data['ciclos']) ;
                    }else{
                         $data['qtdCiclo']=0;
                    }
                }
                $tempo_total=$this->cadastros->tempoTotal($this->aluno);
                
                //$data['ciclos_previstos']= number_format($tempo_total / $data['info_tempo']->TEMPO_DISPONIVEL/3600, 2, ',', ' '); //mostrar com duas casas decimais.
                if ( $data['info_tempo'] ){
                    $data['ciclos_previstos']= ceil($tempo_total / $data['info_tempo']->TEMPO_DISPONIVEL/3600); //arredonda valor para cima, utilizar preferencialmentes
                }

                
                $data['materiais']=  $this->material->getMaterialAluno($this->aluno);

                $this->load->view('central/materialAluno', $data); 
    }
    public function download($Material){
        $this->load->helper('download');
        $caminho="uploads/material/".$Material;
        if( file_exists ( $caminho )){
          //  $data = 'Material Baixado';
            $data = file_get_contents($caminho); // Read the file's contents
            force_download($Material,$data);
        }else{
            echo "Arquivo Inexistente<br> Por favor entre em contato para relatar o problema";
        }
      
        
        
      
    }
}
